package it.softphone.cmc.shared.entity;

public interface TenantUser extends HasAttributes {

	public interface ResultSet extends it.softphone.cmc.shared.entity.ResultSet<TenantUser> {

		java.util.List<TenantUser> getResult();
		
		void setResult( java.util.List<TenantUser> result );
		
	}

	/**
	 * Get Platform dependent ID
	 * 
	 * @return
	 */
	String getUID();
	
	/**
	 * Set Platform dependent id
	 * 
	 * @param value
	 */
	void setUID( String value );

	/**
	 * Get Network Id. Could be email or mobile phone
	 * 
	 * @return
	 */
	String getId();

	/**
	 * Set Network Id. Could be email or mobile phone
	 * 
	 * @param value
	 */
	void setId( String value );
	
	/**
	 * Get User Name - This is name from Tenant point of View 
	 * 
	 * @return
	 */
	String getName();

	/**
	 * 
	 * Get User Name - This is name from Tenant point of View 
	 * 
	 * @param value
	 */
	void setName( String value );

	/**
	 * get account mail  
	 * 
	 * @return
	 */
	String getMail();
	
	/**
	 * set account mail  
	 * 
	 * @return
	 */
	void setMail( String mail );
	
	/**
	 * get mobile phone number
	 * 
	 * @return
	 */
	String getPhone();
	
	/**
	 * set Mobile phone number
	 * 
	 * @param number
	 */
	void setPhone( String number );

	/**
	 * get tenant related roles
	 * 
	 * @return
	 */
	java.util.Set<String> getRoles();

	/**
	 * set tenant related roles
	 * 
	 * @param roles
	 */
	void setRoles( java.util.Set<String> roles);
	
	/**
	 * Get tenant related permissions 
	 * 
	 * @return
	 */
	java.util.Set<String> getPermissions();

	/**
	 * Set tenant related permissions 
	 * 
	 * @param permissions
	 */
	void setPermissions( java.util.Set<String> permissions);
	
	/**
	 * 
	 * @param value
	 */
	void setAccountUID( String value );
	
	/**
	 * 
	 * @return
	 */
	String getAccountUID();

	/**
	 * this declaration is required for AutoBean unmarshaling
	 * 
	 */
	Attributes getAttributes();
	
	/**
	 * this declaration is required for AutoBean marshaling
	 * 
	 */
	void setAttributes( Attributes value );
	
	/**
	 * 
	 * @return
	 */
	String getTenant();
	
	/**
	 * 
	 * @param tenant
	 */
	void setTenant( String tenant );

	/**
	 * 
	 * @return
	 */
	public boolean isEnabled();

	/**
	 * 
	 * @param enabled
	 */
	public void setEnabled(boolean enabled);
	

	/**
	 * get Last Name 
	 * 
	 * @return
	 */
	String getLastName();

	/**
	 * 
	 * set Last Name
	 * 
	 * @param value
	 */
	void setLastName( String value );

	/**
	 * get Main Address
	 * 
	 * @return
	 */
	String getAddress();

	/**
	 * 
	 * set Main Address
	 * 
	 * @param value
	 */
	void setAddress( String value );
		
	/**
	 * get User city 
	 * 
	 * @return
	 */
	String getCity();

	/**
	 * 
	 * set User city
	 * 
	 * @param value
	 */
	void setCity( String value );

	/**
	 * get User country
	 * 
	 * @return
	 */
	String getCountry();

	/**
	 * 
	 * set User country
	 * 
	 * @param value
	 */
	void setCountry( String value );
	
	/**
	 * get Main Zip Code
	 * 
	 * @return
	 */
	String getZipCode();

	/**
	 * 
	 * set Main Zip Code
	 * 
	 * @param value
	 */
	void setZipCode( String value );
	
	
	
}